home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / boostrs.arc / SETATT.PAS < prev    next >
Pascal/Delphi Source File  |  1980-01-01  |  2KB  |  62 lines

  1. { ---------------------------------------------
  2.   SETATT sets attribute byte for specified area
  3.   --------------------------------------------- }
  4. Procedure SETATT ( X1,Y1,X2,Y2 : Integer;
  5.                    Attribute   : Byte);
  6. begin
  7.    InLine ( $1E/
  8.             $8B/$46/$0A/
  9.             $8B/$56/$06/
  10.             $29/$C2/
  11.             $42/
  12.             $52/
  13.             $8B/$46/$0C/
  14.             $8B/$4E/$08/
  15.             $29/$C1/
  16.             $41/
  17.             $51/
  18.             $BB/$49/$04/         { mov   bx,449h        video byte offset   }
  19.             $31/$C0/             { xor   ax,ax          ax = 0              }
  20.             $8E/$D8/             { mov   ds,ax          video byte seg      }
  21.             $8A/$07/             { mov   al,[bx]        get byte            }
  22.             $3C/$07/             { cmp   al,7           mono?               }
  23.             $75/$06/             { jne   graphx         no                  }
  24.             $BA/$00/$B0/         { mov   dx,0B000h      regen for mono      }
  25.             $EB/$0C/$90/         { jmp   contin                             }
  26.             $BA/$DA/$03/        { mov  dx,3DAh  IBM CGA   }
  27.             $EC/                { in   al,dx    will snow }
  28.             $24/$08/            { and  al,1000b w/o this  }
  29.             $90/$90/            { jz   vtrace   check     }
  30.                          { graphx:                                          }
  31.             $BA/$00/$B8/         { mov   dx,0B800h      regen for graphics  }
  32.             $8E/$C2/     { contin: mov   es,dx                              }
  33.             $8B/$7E/$0A/
  34.             $4F/
  35.             $8B/$D7/
  36.             $B1/$07/
  37.             $D3/$E2/
  38.             $B1/$05/
  39.             $D3/$E7/
  40.             $01/$D7/
  41.             $8B/$46/$0C/
  42.             $48/
  43.             $D1/$E0/
  44.             $01/$C7/
  45.             $47/
  46.             $59/
  47.             $5A/
  48.             $8B/$46/$04/
  49.             $FC/
  50.             $51/
  51.             $AA/
  52.             $47/
  53.             $E2/$FC/
  54.             $59/
  55.             $4A/
  56.             $74/$0A/
  57.             $81/$C7/$A0/$00/
  58.             $29/$CF/
  59.             $29/$CF/
  60.             $EB/$ED/
  61.             $1F/$5D);
  62. end;